package cn.iocoder.yudao.module.eval.controller.admin.profession.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

@Schema(description = "管理后台 - 职业工种统计 Response VO")
@Data
public class EvalProfessionStatisticsRespVO {

    @Schema(description = "总职业工种数", example = "500")
    private Integer totalProfessions;

    @Schema(description = "已审核数量", example = "450")
    private Integer approvedCount;

    @Schema(description = "待审核数量", example = "30")
    private Integer pendingCount;

    @Schema(description = "已拒绝数量", example = "20")
    private Integer rejectedCount;

    @Schema(description = "审核通过率", example = "90.0")
    private Double approvalRate;

    @Schema(description = "本月新增数量", example = "15")
    private Integer thisMonthCount;

    @Schema(description = "职业大类统计")
    private List<CategoryStatistics> categoryStatistics;

    @Schema(description = "职业等级统计")
    private List<LevelStatistics> levelStatistics;

    @Schema(description = "职业大类统计")
    @Data
    public static class CategoryStatistics {

        @Schema(description = "职业大类", example = "制造业")
        private String category;

        @Schema(description = "数量", example = "100")
        private Integer count;

        @Schema(description = "占比", example = "20.0")
        private Double percentage;

    }

    @Schema(description = "职业等级统计")
    @Data
    public static class LevelStatistics {

        @Schema(description = "职业等级", example = "五级/初级工")
        private String level;

        @Schema(description = "数量", example = "150")
        private Integer count;

        @Schema(description = "占比", example = "30.0")
        private Double percentage;

    }

}
